#!/bin/bash
###############################################################################
# @用例ID: 20240511-110610-637306408
# @用例名称: sys-test-pkg-install-all
# @用例级别: 3
# @用例标签:
# @扩展属性:
# @用例类型: 功能测试
# @自动化: 1
# @超时时间: 0
# @用例描述: 全量安装软件包
###############################################################################
[ -z "$TST_TS_TOPDIR" ] && {
    TST_TS_TOPDIR="$(realpath "$(dirname "$0")/..")"
    export TST_TS_TOPDIR
}
source "${TST_TS_TOPDIR}/tst_common/lib/common.sh" || exit 1
###############################################################################

g_tmpdir="$(mktemp -d)"

tc_setup() {
    msg "this is tc_setup"

    # @预置条件：yum update && yum makecache成功
    assert_true yum update -y
    assert_true yum makecache -y
    # @预置条件: 先生成未安装的软件包列表
    sh get-uninstall-pkgs-list.sh
    skip_if_false [ -s uninstall-pkgs.list ]
    return 0
}

do_test() {
    msg "this is do_test"

    # @测试步骤: 执行全量软件包安装
    # @预期结果: 全量软件包安装成功
    pkg_whitelist="$(realpath uninstall-pkgs.list)"
    desktop_whitelist="$(realpath desktop-white.pkg)"
    echo "pkg_whitelist=$pkg_whitelist"
    echo desktop_whitelist=$desktop_whitelist""
    test_package_command "$g_tmpdir" "$pkg_whitelist" "$desktop_whitelist" 2>&1 | tee install-all-pkg.log
    assert_true grep "==> [  PASSED  ]" install-all-pkg.log
    return 0

}

tc_teardown() {
    msg "this is tc_teardown"
    rm -rfv "$g_tmpdir" >/dev/null || return 1
    return 0
}

###############################################################################
tst_main "$@"
###############################################################################
